<?php namespace Admin\Controller;
//use Hdphp\Controller\Controller;
//文章管理控制器
class ArcController extends CommonController{
	private $model;
	public function __auto(){
		$this->model = new \Common\Model\Arc;
	}
	//显示文章
	public function index(){
		//获得所有的分类数据,多条数据用get,一条数据用find();
	    $data = $this ->model->getArcCate();
//		p($data);
		//分配到模板?
		View::with('data',$data);
		//载入分类列表页面模板
		View::make();
	}
	//添加文章
	public function add(){
		if(IS_POST){
			//调用模型添加
			if($this->model->store()){
				View::success('添加成功',U('index'));
			}
			//如果添加没有成功,返回错误提示
			View::error($this->model->getError());
		}
		//处理'所属分类'
		$model = new \Common\Model\Cate;
		//调用分类模型,获得分类模型的数据,形成树状结构
		//$model->get()获取分类表里面的cname 数据(顶级分类),默认顶级分类
		View::with('cateData',Data::tree($model->get(),'cname'));
		
		//处理'所有标签'
		$tagModel = new \Common\Model\Tag;
		//获得标签表的所有数据
		$tagData = $tagModel->get();
//		p($tagData);die;
		//分配变量
		View::with('tagData',$tagData);
		//载入模板
		View::make();
		
	}
	//删除到回收站,其实就是把is_recyle改为1,初始值为0
	public function del(){
		//获得文章表里面的数据(相当于三元表达式)
		$aid = Q('get.aid',0,'intval');
		//找到get参数获得的文章表里面要放入回收站的那条数据的aid
		$this->model->where("aid={$aid}")->save(array('is_recycle'=>1));
		View::success('已放入回收站');
	}
	
	//从回收站彻底删除
	public function readDel(){
		//获得文章表里面的数据(相当于三元表达式)
		$aid = Q('get.aid',0,'intval');
		//找到get参数获得的文章表里面要放入回收站的那条数据的aid
		$this->model->where("aid={$aid}")->delete();
		View::success('该条记录已被彻底删除');
	}
	
	
	
	//编辑
	public function edit(){
		//修改
		if(IS_POST){
			if($this->model->edit(Q('get.aid',0,'intval'))){
		    		View::success('修改成功',U('index'));
		    }
			View::error($this->model->getError());
			
		}
		//一.获得旧数据
		$aid = Q('get.aid',0,'intval');
		//将文章表和文章数据表的id关联,并找到要编辑的旧数据
		//此处注意,where("aid={$aid}")要用双引号,否则变量无法解析
		$oldData =$this->model->join('article_data','aid','=','article_aid')->where("aid={$aid}")->find();
		//分配变量
		View::with('oldData',$oldData);
		
		//处理所属分类
		$cateModel=new \Common\Model\Cate;
		//分类属性树状结构(获得所有分类数据)
		$cateData = Data::tree($cateModel->get(),'cname');
		View::with('cateData',$cateData);
		
		//处理标签,获得数据,分配变量
		$tagModel = new \Common\Model\Tag;
		$tagData = $tagModel->get();
		View::with('tagData',$tagData);
		
		//获得当前文章选中的那些标签的id
		//list可以直接找到文章所对应的标签
		$arcTagModel = new \Common\Model\ArcTag;
		$tids = $arcTagModel->where("article_aid={$aid}")->lists('tag_tid');//返出一个数组
		View::with('tids',$tids);
		View::make();
	}
	//回收站
	public function recycle(){
		//获得所有的分类数据,多条数据用get,一条数据用find();
		//方法同文章显示一样,只是改变is_recycle的值,即寻找文章列表里面is_recycle的值为1的数据
	    $data = $this ->model->Restore();
//		p($data);
		//分配到模板?
		View::with('data',$data);
		//载入分类列表页面模板
		View::make();
	}
	
	//将回收站里面的文件还原
	//方法同删除方法,只需要改变is_recycle的值,即值变为0的时候
	public function back(){
		//获得文章表里面的数据(相当于三元表达式)
		$aid = Q('get.aid',0,'intval');
		//找到get参数获得的文章表里面要还原的那条数据的aid
		$this->model->where("aid={$aid}")->save(array('is_recycle'=>0));
		View::success('被回收的文章已还原!');
	}
}









































 ?>